package tool

import (
	"math"
	"myGame/src/model"
)

// 检查子弹与外星人碰撞的类   如果子弹的四个点，其中有存在于外星人矩阵之中的就是碰撞成功
// CheckCollision 检查子弹与外星人之间是否有碰撞
// CheckCollision 两个物体之间是否碰撞
func PropCollision(entityA model.Prop, entityB model.Bullet) bool {
	//在这里进行实现第二种方式
	var x1, y1 = entityA.X + float64(entityA.Width)/2, entityA.Y + float64(entityA.Height)/2
	var x2, y2 = entityB.X + float64(entityB.Width)/2, entityB.Y + float64(entityB.Height)/2

	var Xdist = float64(entityA.Width)/2 + float64(entityB.Width)/2
	var Ydist = float64(entityA.Height)/2 + float64(entityB.Height)/2

	if math.Abs(x2-x1) < Xdist && math.Abs(y2-y1) < Ydist {
		return true
	}
	return false

	//top, left := entityA.Y, entityA.X
	//bottom, right := entityA.Y+float64(entityA.Height), entityA.X+float64(entityA.Width)
	//// 左上角
	//x, y := entityB.X, entityB.Y
	//if y > top && y < bottom && x > left && x < right {
	//	return true
	//}
	//
	//// 右上角
	//x, y = entityB.X+float64(entityB.Width), entityB.Y
	//if y > top && y < bottom && x > left && x < right {
	//	return true
	//}
	//
	//// 左下角
	//x, y = entityB.X, entityB.Y+float64(entityB.Height)
	//if y > top && y < bottom && x > left && x < right {
	//	return true
	//}
	//
	//// 右下角
	//x, y = entityB.X+float64(entityB.Width), entityB.Y+float64(entityB.Height)
	//if y > top && y < bottom && x > left && x < right {
	//	return true
	//}
	//
	//return false
}
